package com.tanhua.dubbo.server.api;

import com.tanhua.dubbo.server.pojo.UserLike;
import com.tanhua.dubbo.server.vo.PageInfo;

import java.util.List;

/**
 * @Author: JinboYang
 * @Description:
 * @Date: Created in 下午 18:44 2021/1/14
 * @ModifiedBy:
 */
public interface UserLikeApi {

    /**
     * @Description: 保存喜欢
     * @Param:[userId, likeUserId]
     * @return:java.lang.String
     * @Author:JinboYang
     * @Date:2021/1/14
     */
    String saveUserLike(Long userId, Long likeUserId);

    /**
     * @Description: 相互喜欢
     * @Param:[userId, likeUserId]
     * @return:java.lang.Boolean
     * @Author:JinboYang
     * @Date:2021/1/14
     */
    Boolean isMutualLike(Long userId, Long likeUserId);

    /**
     * @Description: 删除用户喜欢
     * @Param:[userId, likeUserId]
     * @return:java.lang.Boolean
     * @Author:JinboYang
     * @Date:2021/1/14
     */
    Boolean deleteUserLike(Long userId, Long likeUserId);

    /**
     * @Description: 相互喜欢的数量
     * @Param:[userId]
     * @return:java.lang.Long
     * @Author:JinboYang
     * @Date:2021/1/16
     */
    Long queryEachLikeCount(Long userId);

    /**
     * @Description: 喜欢数
     * @Param:[userId]
     * @return:java.lang.Long
     * @Author:JinboYang
     * @Date:2021/1/16
     */
    Long queryLikeCount(Long userId);

    /**
     * @Description: 粉丝数
     * @Param:[userId]
     * @return:java.lang.Long
     * @Author:JinboYang
     * @Date:2021/1/16
     */
    Long queryFanCount(Long userId);


    /**
       * @Description: 查询相互喜欢列表
       * @Param:[userId, page, pageSize]
       * @return:java.util.List<com.tanhua.dubbo.server.pojo.UserLike>
       * @Author:JinboYang
       * @Date:2021/1/16
       */
    PageInfo<UserLike> queryEachLikeList(Long userId, Integer page, Integer pageSize);
    /**
       * @Description: 查询我喜欢的列表
       * @Param:[userId, page, pageSize]
       * @return:java.util.List<com.tanhua.dubbo.server.pojo.UserLike>
       * @Author:JinboYang
       * @Date:2021/1/16
       */
    PageInfo<UserLike> queryLikeList(Long userId, Integer page, Integer pageSize);
    /**
       * @Description: 查询粉丝列表
       * @Param:[userId, page, pageSize]
       * @return:java.util.List<com.tanhua.dubbo.server.pojo.UserLike>
       * @Author:JinboYang
       * @Date:2021/1/16
       */
    PageInfo<UserLike> queryFanList(Long userId, Integer page, Integer pageSize);
}
